//
// Created by 李传智 on 2018/4/12.
//

#ifndef ANDSDK_VIDEODATA_H
#define ANDSDK_VIDEODATA_H

#include <cstdint>

enum VideoDataType {
    DATA_AV_PACKET = 0,
    DATA_U_CHAR = 1
};

struct VideoData {
    // 解码后的 yuv 数据
    unsigned char *src[8] = {0};
    // 视频的宽高
    int width, height;
    // 音频的每个通道采样数
    int nbSamples;
    // 解码后的格式
    int format;
    // 代表 packet 和 frame
    unsigned char *data = 0;
    int size = 0;
    // 解码器类型
    int codecType = 0;
    // 是否音频数据
    bool isAudio = 0;
    // 数据类型
    int dataType;
    // pts
    int64_t pts;

    // 分配空间
    bool alloc(int size, const char *data = 0);

    // 释放空间
    void free();
};


#endif //ANDSDK_VIDEODATA_H
